package com.scs.application.modules.dept.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.scs.application.core.query.QueryContext;
import com.scs.application.core.service.IBaseService;
import com.scs.application.modules.dept.entity.OprtUseItem;
import com.scs.application.modules.dept.request.OprtUseRequest;

import java.util.List;

/**
 * <p>
 *  Service
 * </p>
 */

public interface OprtUseItemService extends IBaseService<OprtUseItem> {

    /**
     *  病人消耗 选择耗材保存
     * @param stockIds
     * @param useId
     */
    void saveByStockIds(List<String> stockIds, String useId);

    /**
     *  病人消耗冲红 选择耗材保存
     * @param workIds
     * @param useId
     */
    void saveByWorkIds(List<String> workIds, String useId);

    void saveByOprtSn(OprtUseRequest oprtUseRequest);

    List<OprtUseItem> listByOprtCodeAndDept(String inpatientNo, Boolean flagLine, String deptId);

    /**
     * 获取手术单号下可冲红的数据
     * @param queryContext
     * @return
     */
    IPage<OprtUseItem> pageForRedList(QueryContext queryContext);

    /**
     * 获取手术单号下可冲红的数据
     * @param queryContext
     * @return
     */
    List<OprtUseItem> listForRedList( QueryWrapper wrapper);

    /**
     * HIS冲红
     * @param oprtUseItems
     * @param useId
     */
    void useRedByHisUseItems(List<OprtUseItem> oprtUseItems, String useId);
}
